1. Field of the Invention
This invention relates to a method of establishing a bi-directional communication session between two endpoints in a communications network, and in particular but not limited to, situations where it is required to provide a guaranteed quality of service for the connection. The invention also relates to a communications network within which this method is implemented and also to a computer program for controlling a communications network in order to implement the method.
2. Description of the Prior Art
One factor that must be taken into account during design of communications systems is that of the time taken to establish a communication session. This should be as short as possible in order that customers are not deterred from using the communications service and for applications in which communication sessions must be established without delay.
The time taken to establish a communication session is a particular issue when providing a guaranteed quality of service for transmission of internet protocol traffic. Quality of service is an important factor; customers require a good quality of service for message transmission especially for real-time applications such as video conferencing and voice. As well as this many customers require a particular level of quality of service to be guaranteed; if quality of service drops below a certain level and transmission is interrupted or noisy this may be acceptable in some situations but unacceptable in others. If particular levels of quality of service can be guaranteed this is particularly advantageous. A number of approaches to provision of guaranteed quality of service for transmission of internet protocol traffic are now described and the time taken to establish such connections discussed.
One approach that has been used is to prioritise individual transmissions that are sent over the network. For example, a system known as xe2x80x9cDiffServxe2x80x9d allows messages to be marked to indicate their priority. Nodes in a communications network are then arranged to process high priority messages first. This enables high priority messages to be processed quickly but it does not provide a guaranteed level of quality of service. Also a certain amount of processing time is necessarily taken up in determining the highest priority message at a given node and this can lead to increases in the time taken to set up a communications session.
Another approach has been to reserve bandwidth over a particular route in a communications network. However, systems that use this approach (for example RSVP Resource reSerVation Protocol) typically are poor at implementing aggregation mechanismsxe2x80x94for example they cannot easily combine a number of separate sessions over the same route, each must have its own reservation. Another shortcoming is that they also typically only allow the called party to reserve bandwidth that is required to host a communication session. This does not allow the calling party to specify their requirements and this is problematic, especially because the calling party is typically the party which incurs costs for a call. Also, the time taken to set up reservations is often significant and can introduce delays in the time taken to establish a communications session.
Multi Protocol Label Switching (MPLS) is a standard messaging protocol that is suitable for carrying Internet Protocol traffic over communications networks such as Asynchronous Transfer Mode (ATM) networks and Frame Relay networks.
Constraint-based Routing Label Distribution Protocol (CR-LDP) is also a standard messaging protocol (CR-LDP is defined in Internet Draft: draft-ietf-mpls-cr-ldp-01.txt) that is suitable for use with communications networks that use MPLS. Mechanisms such as CR-LDP allow MPLS the ability to set-up paths between two endpoints over a list of routers, where these paths have ATM-like traffic requirements. However, there is no well-defined mechanism for the choice of the routers in this path that makes full use of the ATM-like traffic parameters. The only existing mechanism (QOSPF Quality of Service Open Shortest Path First) allows routing only in terms of advertised router speed and congestion. In tandem, QOSPF is unable to make the fullest use of CR-LDP as it cannot make use of the detailed traffic descriptions used in CR-LDP; neither can it provide detailed route information. As well as this QOSPF is not able to ensure a connection over a suggested route.
Another problem involves setting up bi-directional communications sessions over a communications network such as an internet protocol communications network. Telephone networks such as public switched telephone networks provide dedicated connections between a calling party and a called party that are bi-directional, with equal bandwidth and guaranteed quality of service for both parties. However, internet protocol and data communications networks typically do not provide dedicated connections that are bi-directional in this way. This presents a problem for situations in which telephony type applications are required using data and internet protocol communications networks. For example, internet protocol communications networks such as MPLS communications networks typically only support uni-directional flows. When establishing a connection between two terminals over such a communications network, it is therefore necessary to setup separate forward and backward paths between those two terminals.
It is accordingly an object of the present invention to provide a method of establishing a bi-directional communication session between two endpoints in a communications network, which overcomes or at least mitigates one or more of the problems noted above.
Further benefits and advantages of the invention will become apparent from a consideration of the following detailed description given with reference to the accompanying drawings, which specify and show preferred embodiments of the invention.
According to a first aspect of the present invention there is provided a method of establishing a bi-directional communication session between a first endpoint and a second endpoint in a communications network, said method comprising the steps of:
(i) sending a communication from said second endpoint to said first endpoint to determine a path between said second and said first endpoints;
(ii) sending a first message along said path in order to set up a first label mapping along said path, for use over said path in a forward direction; and
(iii) sending a second message along said path in order to set up a second label mapping along said path, for use over said path in a reverse direction.
A corresponding communications network is provided comprising at least two endpoints between which it is desired to establish a bi-directional communication session, said communications network comprising:
(i) a determiner arranged to determine a path between said second and said first endpoints by sending a communication from said second endpoint to said first endpoint;
(ii) a processor arranged to send a first message along said path in order to set up a first label mapping along said path, for use over said path in a forward direction; and
(iii) a processor arranged to send a second message along said path in order to set up a second label mapping along said path, for use over said path in a reverse direction.
A corresponding computer program is provided stored on a computer readable medium said computer program being arranged to control said communications network such that:
(i) a communication is sent from said second endpoint to said first endpoint to determine a path between said second and said first endpoints;
(ii) a first message is sent along said path in order to set up a first label mapping along said path, for use over said path in a forward direction; and
(iii) a second message is sent along said path in order to set up a second label mapping along said path, for use over said path in a reverse direction.
This provides the advantage that a bi-directional communications session is established between two endpoints in a communications network. This enables telephony applications to be provided over a communications network such as an internet protocol communications network. In this case, the forward and reverse paths correspond and have the same bandwidth and quality of service provisions.
In a preferred embodiment of the method described immediately above, said steps (ii) and (iii) of sending messages in order to set up label mappings occur substantially concurrently. This provides the advantage that the time taken to establish the bi-directional communication session is reduced.
In a preferred embodiment a communications session is established which has a guaranteed quality of service. Switched virtual circuit equivalency is effectively given for a communications network which can be an internet protocol based communications network such as an MPLS network.
Preferably, said communications network comprises a plurality of nodes connected together by links and said method further comprises the step of configuring the communications network such that the links between a first plurality of nodes are of a pre-determined capacity such that in use each of said links between the first plurality of nodes is capable of sustaining a plurality of separate communication sessions. By provisioning the communications network in this way high capacity routes which act as xe2x80x9cmotorwaysxe2x80x9d are created. By using these high capacity routes, the topology information required to implement the method is reduced. This simplifies the method and makes it faster to operate.
According to another aspect of the present invention there is provided a method of establishing a bi-directional communication session between a first endpoint and a second endpoint in a communications network, said method comprising the steps of:
(i) sending a communication from said first endpoint to said second endpoint to determine a path between said endpoints;
(ii) sending a message along said path in order to set up a first label mapping along said path, for use over said path in a forward direction; and also to set up a second label mapping along said path, for use over said path in a reverse direction.
A corresponding communications network is provided comprising at least two endpoints between which it is desired to establish a bi-directional communication session, said communications network comprising:
(i) a determiner arranged to determine a path between said endpoints by sending a communication from said first endpoint to said second endpoint; and
(ii) a processor arranged to send a message along said path in order to set up a first label mapping along said path, for use over said path in a forward direction; and also to set up a second label mapping along said path, for use over said path in a reverse direction.
A corresponding computer program is provided stored on a computer readable medium said computer program being arranged to control said communications network such that:
(i) a communication is sent from said first endpoint to said second endpoint to determine a path between said endpoints; and
(ii) a message is sent along said path in order to set up a first label mapping along said path, for use over said path in a forward direction; and also to set up a second label mapping along said path, for use over said path in a reverse direction.
This provides the advantage that a bi-directional communication session is set up quickly and effectively. The forward and reverse paths correspond and have the same bandwidth.
According to another aspect of the present invention there is provided a communications network comprising at least two endpoints between which it is desired to establish a bi-directional communication session, said communications network comprising:
(i) a processor arranged to establish a first uni-directional communication session between the endpoints in a forward direction; and
(ii) a second processor arranged to establish a second uni-directional communication session between the endpoints in a reverse direction; and wherein said steps (i) and (ii) of establishing uni-directional communication sessions take place substantially concurrently.
A corresponding computer program is provided stored on a computer readable medium said computer program being arranged to control said communications network such that:
(i) a first uni-directional communication session is established between the endpoints in a forward direction;
(ii) a second uni-directional communication session is established between the endpoints in a reverse direction; and such that said steps (i) and (ii) of establishing uni-directional communication sessions take place substantially concurrently.
This provides the advantage that the first and second communication sessions are not necessarily corresponding and may take different paths. This is especially useful when a uni-directional error occurs in the communications network. By arranging for the two uni-directional sessions to be formed concurrently, setup time is reduced.